System and method for communicating audio data signals via an audio communications medium

ABSTRACT

A system for communicating audio data signals comprises a source computer that performs an action, generates an event message corresponding to the action, converts the event message into an audio data signal, and communicates the audio data signal through its speaker. A source telephone receives a voice signal from a participant and the audio data signal through its microphone and communicates the audio data signal and voice as coherent sound via an audio communications medium. A recipient telephone receives the audio data signal from the coherent sound communicated via the audio communications medium and communicates the audio data signal via its speaker. A recipient computer receives the audio data signal through its microphone, extracts the event message from the audio data signal, and performs an action based on the event message from the audio data signal. The audio communications medium can comprise a telephone communications system or air.

FIELD OF THE INVENTION

The present invention relates to communicating audio signals between computer systems. Particularly, the present invention relates to communicating via an audio communications medium an audio data signal comprising data for performing an action.

BACKGROUND OF THE INVENTION

A number of conventional systems exist that use audio signals to transmit information. Conventional systems for transmitting audio signals include interactive voice response (“IVR”) systems and systems that signal the beginning or end of content segments. Conventional IVR systems transmit a customer's menu selection to a computerized receptionist. For example, the IVR system provides the customer with an electronic menu to select a desired option. The customer presses a touchtone button to send a touchtone audio signal from the customer's telephone to the IVR system. The IVR system recognizes the touchtone as a specific menu selection. However, conventional IVR systems involve transmitting an audio signal between a person (the customer) and a computer (the IVR system). Accordingly, conventional IVR systems cannot transmit an audio signal between computers. Additionally, in a conventional IVR system, the customer transmits either voice or a touchtone. The customer cannot simultaneously transmit coherent voice and touchtones, because the touchtones mask or drown out the voice. Furthermore, the conventional touchtones have a pre-assigned meaning. The conventional IVR systems cannot communicate complex data. Those systems can only transmit the preset tones.

Conventional systems that use audio signals for the beginning or end of content segments typically comprise radio or television broadcasting systems or filmstrip systems. In a conventional radio or television broadcasting system, a broadcast entertainment content segment can include an audio signal that indicates the end of the entertainment content segment. A computer listens for the audio signal and broadcasts an advertising content segment when it recognizes the “end” audio signal of the entertainment content segment.

In a conventional filmstrip system, a filmstrip viewer device recognizes an audible beep on a cassette tape, which signals the end of the current slide and the correct time to advance the filmstrip. The filmstrip viewer device advances the filmstrip when it recognizes the audible beep.

The conventional systems for signaling the beginning or end of content segments include several deficiencies. For example, those conventional systems are closed systems. Those conventional systems do not communicate an audio signal to one or multiple other computer systems to cause those other systems to perform an action. Additionally, the conventional tones or beeps have a pre-assigned meaning. Accordingly, the conventional closed systems cannot communicate complex data. Those systems can only transmit the preset tones or beeps.

Another conventional system for transmitting voice and data is an ASVD (analog simultaneous voice and data) modem system. FIG. 13 is a block diagram depicting a conventional ASVD method for transmitting voice and data. As shown in FIG. 13, the system 1300 can transmit voice and data between locations 1302, 1304. At location 1302, a meeting participant communicates voice 1306 to a source telephone 1308. The source telephone 1308 transmits an audio stream 1310 of the voice 1306 to a source ASVD modem 1312.

Simultaneously, a source computer 1314 generates a data stream 1316 and communicates the data stream 1316 to the source ASVD modem 1312. The source ASVD modem 1312 combines the data stream 1316 and the audio stream 1310, encodes the combined data in digital form, and communicates the encoded data through the communications medium 1318 to a recipient ASVD modem 1320 at location 1304.

The recipient ASVD modem 1320 decodes the digital data and splits the data stream 1316 from the audio stream 1310. The recipient ASVD modem 1320 transmits the audio 1310 to a recipient telephone 1324. The recipient telephone 1324 communicates the audio 1310 as the voice 1306 via its speaker. The recipient ASVD modem 1320 also communicates the data stream 1316 to the recipient computer 1330.

The recipient computer 1330 interprets the data stream 1316 to evaluate the data. However, the system 1300 requires that each participant at a separate location have the required ASVD modem hardware to interpret the encoded, digital data from the source location. The encoded, digital data communicated via the communications medium 1318 cannot be interpreted without a recipient ASVD modem 1320 to decode the received data. Accordingly, a participant communicating with other locations through only a telephone or the air as a communications medium cannot decode the encoded, digital data provided by the source ASVD modem. Additionally, the participant cannot hear the voice 1306 without the ASVD modem to decode the audio stream 1310.

Another method for transmitting voice and data comprises multiplexing. In multiplexing, a multiplexer combines a voice signal and a data signal into one signal and communicates the combined signal to a demultiplexer. The demultiplexer separates the voice signal and the data signal. However, the combined signal produced by the multiplexer does not comprise coherent sound and a demultiplexer is required to decipher the multiplexed signals. A person receiving the combined signal cannot understand the voice signal without first having a demultiplexer separate the voice and data signals.

Accordingly, there is need in the art for communicating audio data signals from a first computer system to a second computer system via an audio communications medium. A further need exists in the art for simultaneously communicating voice and audio data signals via a voice communication medium. Additionally, a need exists in the art for embedding data in the audio data signal for instructing the recipient computer to perform an action based on the data.

SUMMARY OF THE INVENTION

The present invention can provide a system and method for sending audio data signals between remote computers that are not directly connected through a network or other direct connection. A source computer can communicate the audio data signals over an audio communications medium to a recipient computer. The audio communications medium can comprise air, a telephone communications system. The audio data signals can comprise beeps, tones, spectrum modulation, audio watermarks, white noise, volume changes, or other suitable audio. Additionally, the audio data signals can comprise metadata that indicates to the recipient computer an event that occurred in the source computer. The audio data signal can comprise data for instructing the recipient computer to perform an action. For example, the action can comprise changing the displayed slide of a slide show presentation, displaying the name and/or location of a currently speaking meeting participant, displaying information for broadcast content, or displaying a static picture or video.

The present invention can make conferences and meetings more effective. For example, if participants conduct a conference-call meeting without computer-to-computer connections, the present invention can communicate audio data signals between computers over an existing voice medium, such as a telephone network. Accordingly, remote participants can enjoy an enhanced meeting experience by receiving data that can update slides of a slide show presentation, identify the currently speaking participant, generate pictures or video, or provide other meaningful data to the remote participant.

These and other aspects, objects, and features of the present invention will become apparent from the following detailed description of the exemplary embodiments, read in conjunction with, and reference to, the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram depicting an exemplary operating environment for implementation of the present invention.

FIG. 2 is block diagram depicting a system for communicating audio data signals via a communications medium according to an exemplary embodiment of the present invention.

FIG. 3 is a block diagram depicting a system for communicating audio data signals via a communications medium according to another exemplary embodiment of the present invention.

FIG. 4 is a block diagram depicting a system for communicating audio data signals via a communications medium according to another exemplary embodiment of the present invention.

FIG. 5 is a block diagram depicting components of a source computer and a recipient computer according to an exemplary embodiment of the present invention.

FIG. 6 is a block diagram depicting components of a source communications device and a recipient communications device according to an exemplary embodiment of the present invention.

FIG. 7 is a block diagram illustrating a system for communicating audio data signals via a communications medium according to another exemplary embodiment of the present invention.

FIG. 8A is a block diagram illustrating components of a dongle according to an exemplary embodiment of the present invention.

FIG. 8B is a block diagram illustrating components of a dongle according to another exemplary embodiment of the present invention.

FIG. 9 is a flow chart depicting a method for communicating audio data signals via a communications medium according to an exemplary embodiment of the present invention.

FIG. 10 is a flow chart depicting a method for generating an audio data signal according to an exemplary embodiment of the present invention.

FIG. 11 is a flow chart depicting a method for communicating voice and an audio data signal via a communications medium according to an exemplary embodiment of the present invention.

FIG. 12 is a flow chart depicting a method for receiving and interpreting an audio data signal according to an exemplary embodiment of the present invention.

FIG. 13 is a block diagram depicting a conventional method for communicating voice and data.

DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS

The present invention can provide a system and method for communicating data between computers that are not connected via a direct connection. The present invention can encode data from a source computer in an audio data signal. The source computer can communicate the audio data signal via the air, a telephone communications system, or other suitable communications medium. A recipient computer can receive the audio data signal, extract the data from the audio data signal, and perform an action based on the data. In an exemplary embodiment, the present invention can enhance meeting participation by allowing remote participants to receive data via a telephone, even though the remote participants are not connected to the data source via the Internet or other network.

Exemplary embodiments will be described generally in the context of software modules running in a computing environment. The processes and operations performed by the software modules include the manipulation of signals by a client or server and the maintenance of those signals within data structures resident in one or more of local or remote memory storage devices. Such data structures impose a physical organization upon the collection of data stored within a memory storage device and represent specific electrical or magnetic elements. Those symbolic representations are the means used by those skilled in the art of computer programming and computer construction to effectively convey teachings and discoveries to others skilled in the art.

The present invention also includes a computer program that embodies the functions described herein and illustrated in the appended flow charts. However, it should be apparent that there could be many different ways of implementing the invention in computer programming, and the invention should not be construed as limited to any one set of computer program instructions. Further, a skilled programmer would be able to write such a computer program to implement the disclosed invention based on the flow charts and associated description in the application text. Therefore, disclosure of a particular set of program code instructions is not considered necessary for an adequate understanding of how to make and use the invention. Furthermore, the invention can be implemented in computer hardware the performs the inventive functionality. The inventive functionality of the claimed computer program and hardware will be explained in more detail in the following description read in conjunction with the figures illustrating the program flow.

Referring now to the drawings, in which like numerals represent like elements, aspects of the present invention and exemplary operating environment will be described.

FIG. 1 is a block diagram depicting an exemplary operating environment 100 for implementation of the present invention. The exemplary operating environment 100 comprises a general-purpose computing device in the form of a conventional personal computer 120. Generally, the personal computer 120 comprises a central processing unit 121, a system memory 122, and a system bus 123. The system bus couples various system components including the system memory 122 to the processing unit 121. The system bus 123 can comprise any of several types of bus structures. For example, the system bus can comprise a memory bus or memory controller, a peripheral bus, or a local bus using any of a variety of bus architectures. The system memory 122 comprises a read-only memory (ROM) 124 and a random access memory (RAM) 125. The ROM 124 stores a basic input/output system (BIOS) 126. The BIOS 126 comprises the basic routines for transferring information between elements within the personal computer 120. For example, the BIOS 126 comprises the basic routines for start-up of the personal computer.

The personal computer 120 further comprises a hard disk drive 127 for reading from and writing to a hard disk (not shown), a magnetic disk drive 128 for reading from or writing to a removable magnetic disk 129 such as a floppy disk, and an optical disk drive 130 for reading from or writing to a removable optical disk 131 such as a CD-ROM or other optical media. The hard disk drive 127, magnetic disk drive 128, and optical disk drive 130 are coupled to the system bus 123 by a hard disk drive interface 132, a magnetic disk drive interface 133, and an optical disk drive interface 134, respectively. Although the exemplary operating environment 100 employs a ROM 124, a RAM 125, a hard disk drive 127, a removable magnetic disk 129, and a removable optical disk 131, those skilled in the art appreciate that other types of computer readable media which can store data accessible by a computer also can be used in the exemplary operating environment 100. For example, other media comprise magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, and the like. The drives and their associated computer readable media can provide nonvolatile storage of computer-executable instructions, data structures, program modules, and other data for the personal computer 120.

The ROM 124, RAM 125, hard disk drive 127, magnetic disk 129, or optical disk 131 can store a number of program modules. For example, the program modules can comprise an operating system 135 and various application programs 136-138. Program modules comprise routines, sub-routines, programs, objects, components, data structures, etc., which perform particular tasks or implement particular abstract data types.

A user can enter commands and information into the personal computer 120 through input devices. The input devices can comprise a keyboard 140 and a pointing device 142. The pointing device 142 can comprise a mouse, a trackball, or an electronic pen that can be used in conjunction with an electronic tablet. Other input devices (not shown) can comprise a joystick, game pad, satellite dish, scanner, or the like. Those and other input devices can be coupled to the processing unit 121 through a serial port interface 146 coupled to the system bus 123. The input devices also can be coupled to the system bus 123 by other interfaces. Other interfaces can comprise a parallel port, game port, a universal serial bus (USB), or the like. Additionally, the input devices also can comprise a microphone 163 coupled to the system bus 123 by an audio input interface 161.

A display device 147 also can be coupled to the system bus 123 via an interface, such as a video adapter 148. The display device 147 can comprise a monitor. In addition to the display device 147, the personal computer 120 can comprise other peripheral output devices. The other peripheral output devices can comprise a printer (not shown). Additionally, the other peripheral output devices can comprise a speaker 164 coupled to the system bus 123 via an audio output interface 162.

The personal computer 120 can operate in a networked environment using logical connections to one or more remote computers 149. The remote computer 149 can comprise another personal computer, a server, a client, a router, a network PC, a peer device, or other common network node. While the remote computer 149 typically comprises many or all of the elements described above relative to the personal computer 120, only a memory storage device 150 has been illustrated in FIG. 1 for simplicity. The logical connections depicted in FIG. 1 comprise a local area network (LAN) 151 and a wide area network (WAN) 152. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.

When used in a local area networking environment, the personal computer 120 typically is coupled to the LAN 151 through a network interface or adapter 153. When used in a wide area networking environment, the personal computer 120 typically comprises a modem 154 or other means for establishing communications over the WAN 152. The modem 154 can comprise an internal or external modem and can be coupled to the system bus 123 via the serial port interface 146. In a networked environment, the remote memory storage device 150 can store the program modules depicted for the personal computer 120, or portions thereof. Those skilled in the art appreciate that the network connections shown are exemplary and that other means of establishing a communications link between computers can be used.

According to an exemplary embodiment of the present invention, the personal computer 120 also can be coupled to a recipient computer 165 via a communications medium 166. The personal computer 120 can communicate audio data signals via the speaker 164 for communication to the recipient computer 165 via the communications medium 166. The recipient computer 165 can extract data from the audio data signal and can perform an action based on the data in the audio data signal.

Those skilled in the art will appreciate that the present invention can be implemented in other computer system configurations. For example, other computer system configurations comprise hand-held devices, multiprocessor systems, microprocessor based or programmable consumer electronics, network personal computers, minicomputers, mainframe computers, and the like. The invention also can be practiced in distributed computing environments in which tasks are performed by remote processing devices linked through a communications network. In a distributed computing environment, the program modules can be located in both local and remote memory storage devices.

FIG. 2 is block diagram depicting a system 200 for communicating audio data signals via a communications medium according to an exemplary embodiment of the present invention. As illustrated in FIG. 2, the system 200 communicates audio data signals between locations 202, 204. For voice communications, a meeting participant at location 202 communicates a voice signal 212. A source telephone 206 receives the voice 212 and communicates the voice 212 via the communications medium 214 to a recipient telephone 216 at location 204. At location 204, the recipient telephone 216 communicates the received voice 212 via its speaker.

In an exemplary embodiment, the communications medium 214 can comprise an audio communications medium such as a telephone communications system. For example, the communications medium 214 can comprise an analog telephone connection, a digital telephone connection, a wireless telephone connection, combination telephone connections, or other telephone communications system for communicating between telephones 206, 216. Accordingly, the system 200 does not require special hardware to participate in a meeting and to receive the voice 212. Conventional telephones can communicate the voice 212.

The system 200 also can communicate audio data signals between locations 202, 204 via the communications medium 214. The audio data signals can comprise an event message indicating to a recipient computer the occurrence of an action on a source computer. At location 202, a source computer 210 performs an action and determines whether to communicate an event message indicating the performance of the action. If yes, then the source computer generates the event message, encodes the event message in an audio data signal 208, and communicates the audio data signal 208 via its speaker. The source telephone 206 receives the audio data signal 208 through its microphone and communicates the audio data signal 208 via the communications medium 214 to the recipient telephone 216 at location 204. At location 204, the recipient telephone 216 communicates the received audio data signal 208 via its speaker. A recipient computer 222 receives the audio data signal 208 through its microphone, extracts the digital data of the event message from the audio data signal, and performs an action corresponding to the event message.

As discussed above, the communications medium 214 can comprise an audio communications medium such as a telephone communications system. Accordingly, a remote meeting participant does not require special hardware to participant in the meeting. Additionally, the system 200 communicates the audio data signal 208 via the communications medium 214. The remote meeting participant also does not require special hardware to receive the audio data signal 208.

Any person can participate in the meeting if he has access to a telephone. The system 200 can communicate simultaneously the voice 212 and the audio data signal 208 via the communications medium 214. Additionally, the system 200 communicates coherent voice 212 and audio data signal 208. Accordingly, the meeting participant hears the coherent voice 212 and the audio data signal 208. If the meeting participant has access to a recipient computer 222, then the meeting participant can enjoy an enhanced meeting through the actions performed by the recipient computer 222 in response to the data in the audio data signal 208.

In another exemplary embodiment, the audio data signal 208 can comprise a signal that is not audible to the human ear, such as a low-level, spread-spectrum audio watermarking signal having a presence masked by the voice signal. In that case, the remote meeting participant hears only the voice 212. If the meeting participant has access to a recipient computer 222, then the meeting participant can enjoy an enhanced meeting through the actions performed by the recipient computer 222 in response to the instructions in the inaudible audio data signal 208. Throughout this specification, an “audio data signal” refers to both human-audible and human-inaudible audio data signals.

In exemplary embodiments, the audio data signal 208 can comprise a beep, tone, spectrum modulation, volume modulation, an analog or digital watermark, a combination of audio signals, or other audio signals. Additionally, the audio data signal 208 can comprise white noise that comprises the data corresponding to the event message. Accordingly, meeting participants hear the white noise but may not hear the beeps or tones within the white noise. In one exemplary embodiment, the audio data signal 208 can comprise preset data. In another exemplary embodiment, the audio data signal 208 can comprise metadata or other complex data that communicates information from the source computer 210 to the recipient computer 222.

The audio data signal 208 can comprise data corresponding to many different events. In an exemplary embodiment, the source computer 210 can communicate an audio data signal 208 to synchronize a slide show presentation displayed on the source computer 210 and the recipient computer 222. For example, when a presenter changes the slide displayed on the source computer 210 from slide 1 to slide 2, the source computer 210 identifies the changed slide as an action that requires notifying the recipient computer 222 to synchronize the slide show presentation. Accordingly, the source computer 210 generates an event message indicating that the presenter changed to slide 2, encodes the event message in an audio data signal 208, and communicates the audio data signal 208 via its speaker.

The source telephone 206 receives the audio data signal 208 through its microphone or a direct connection interface (for example, a microphone/headphone jack, or an analog or digital connector) and communicates the audio data signal 208 through the communications medium 214 to the recipient telephone 216 at the location 204. The recipient telephone 216 communicates the audio data signal 208 via its speaker at the location 204. A microphone on the recipient computer 202 receives the audio data signal 208 and extracts the event message from the audio data signal 208. Then, the recipient computer 222 updates the displayed slide based on the event message in the audio data signal 208. In another exemplary embodiment, the recipient computer 222 also can receive the audio data signal 208 from the telephone 216 via a direct connection (for example, a microphone/headphone jack, or an analog or digital connector).

In an exemplary embodiment, the recipient computer 222 can be configured to perform different actions based on the event message. For example, in the slide show example discussed above, the recipient computer can change the displayed slide 1 to slide 2 based on the event message indicating that the presenter changed the slide. Alternatively, the recipient computer 222 can be configured to highlight the currently displayed slide 2 in a list of available slides. In that case, the operator of the recipient computer 222 can determine when to change the displayed slide.

In another exemplary embodiment, the source computer 210 can communicate data for synchronizing the source computer 210 and the recipient computer 222. For example, when the operator of the source computer 210 initiates recording of a conversation, deposition, or other sound, the source computer 210 can communicate an audio data signal that initiates recording in the recipient computer 222.

The exemplary system 200 of FIG. 2 illustrates one-way communications flow for simplicity. However, the system 200 can provide two-way communications between locations 202, 204 and each computer 210, 222 can function as either a source computer 210 or a recipient computer 222. Additionally, any number of locations can be coupled together via the communications medium 214 an can receive the audio data signal from the source computer 210.

FIG. 3 is a block diagram depicting a system 300 for communicating audio data signals via a communications medium according to an alternative exemplary embodiment of the present invention. As shown in FIG. 3, the system 300 can communicate audio data signals between locations 302, 304. As illustrated by the dashed line in FIG. 3, the locations 302, 304 can be in the same room or within a distance that allows communication of audible sounds between computers. The source computer 210 communicates the audio data signal 208 via its speaker. The microphone of the recipient computer 222 receives the audio data signal 208, extracts data from the audio data signal 208, and performs an action based on the data.

In an exemplary embodiment, the audio data signals communicated by the system 300 can be contained within a single room. Accordingly, those signals are not communicated outside of the room to interfere with other computer systems. That operation is in contrast to data signals communicated via conventional frequencies that carry from room to room and through walls and buildings.

In an exemplary embodiment, the system 300 can update the displayed slide of a slide show presentation for each recipient computer 222 located within computer-audible range of the source computer 210. For example, the source computer 210 can display a slide show presentation being provided in an auditorium. When the presenter changes the slide on the source computer from slide 1 to slide 2, the audio data signal 208 can instruct a recipient computer 222 to update the displayed slide to slide 2.

In an exemplary embodiment, the recipient computer 222 can comprise a handheld-type computer. Accordingly, an audience member can view the slide show presentation on the handheld-type recipient computer 222 and the audio data signal can comprise instructions to update the currently displayed slide on the handheld-type computer.

In an alternative exemplary embodiment, the source computer 210 can communicate an audio data signal 208 that provides the actual slides of the slide show presentation. The recipient computer 222 can receive the audio data signal 208 and can display the current slide on the recipient computer 222. The meeting participant can view the slides on the recipient computer 222 and can take notes on or change each slide.

In another exemplary embodiment, the communications medium 214 can comprise a broadcast network. A radio or television station can broadcast an audio data signal from the source computer 210 to a listener/viewer at the recipient location 304. A radio or television (not shown) at the recipient location can communicate the audio data signal 208 to the recipient computer 222. The recipient computer 222 can receive the audio data signal 208 and can display information about the broadcast. For example, the audio data signal can comprise metadata indicating the singer and song title of the currently playing song on a radio station. The broadcast station can communicate the audio data signal to all of its listeners/viewers. Those listeners/viewers with a recipient computer can enjoy an enhanced experience by receiving the data in the audio data signal.

In the broadcast example discussed above, the recipient computer 222 can be a stand alone computer that receives the audio data signal communicated from the radio or television. Alternatively, the recipient computer 222 can be integrated into the radio or television. In that case, the recipient computer 222 comprises a source communications device discussed in detail below with reference to FIGS. 4 and 6.

FIG. 4 is a block diagram depicting a system 400 for communicating audio data signals via a communications medium according to another exemplary embodiment of the present invention. As illustrated in FIG. 4, the system 400 can communicate audio data signals between locations 402, 404, and 204. In the system 400, the source computer at location 402 comprises a source communications device 406. Additionally, the recipient computer at location 404 comprises a recipient communications device 410. Each communications device 406, 410 comprises components for communicating an audio data signal. Additionally, each communications device 406, 410 can comprise communications components, such as a telephone or broadcast equipment. The system components at location 204 comprise the components discussed above with reference to FIG. 2.

For voice communications, the source communications device 406 at location 402 receives the voice signal 212 and communicates the voice 212 via the communications medium 214 to the recipient telephone 216 at location 204. The recipient telephone 216 communicates the voice 212 at location 204 through its speaker.

The source communications device 406 also encodes an event message in an audio data signal 208, indicating to the recipient computer 222 the occurrence of an action. The source communications device 406 communicates the audio data signal 208 via the communications medium 214 to the recipient telephone 216 at location 204. At location 204, the recipient telephone 216 communicates the audio data signal 208 via its speaker. The recipient computer 222 receives the audio data signal 208 through its microphone, extracts the event message from the audio data signal 208, and performs an action corresponding to the event message.

The source communications device 406 also can communicate the voice 212 and the audio data signal 208 via the communications medium 214 to the recipient communications device 410 at location 404. The recipient communications device 410 receives the voice 212 and communicates the voice 212 via its speaker. The recipient communications device 410 also receives the audio data signal 208, extracts the data of the event message from the audio data signal 208, and performs an action corresponding to the event message.

As illustrated in FIG. 4, any person can participate in a meeting if he has access to a telephone 216 or a recipient communications device 410 comprising a telephone. The system 400 can communicate simultaneously the voice 212 and the audio data signal 208. Each meeting participant hears the voice 212. If the meeting participant has access to a recipient computer 222, 410, then the meeting participant can enjoy an enhanced meeting through the actions performed by the recipient computer 222, 410 based on the event message in the audio data signal 208.

FIG. 4 also illustrates that the source computer (source communications device 406) can communicate with the recipient communications device 410 via the network 412. The network can comprise the internet or a local area network. In that case, the recipient computer 410 does not rely on the audio data signal 208 to provide the enhanced meeting.

In an exemplary embodiment, the source communications device 406 can comprise a telephone and a data generator. The data generator can produce audio data signals for transmission to the locations 204, 404. For example, the source communications device 406 can comprise a telephone and a 360-degree video camera with a microphone array providing directional identification of the currently speaking meeting participant. The array can detect the voice 212 at specific locations around its perimeter. The meeting participants can enter their name with their respective location around the array. When the array detects the voice 212 from a specific location, the data generator generates an audio data signal comprising an event message that indicates the name of the meeting participant producing the voice 212. Then, the source communications device 406 communicates the audio data signal 208 comprising the name through the communications medium 214 to the recipient telephone 216 at location 204 and the recipient communications device 410 at location 404.

At location 204, the recipient telephone 216 communicates the audio data signal 208 via its speaker. The microphone of the recipient computer 222 receives the audio data signal 208, extracts the event message from the audio data signal 208 to obtain the name, and performs the action of displaying the name of the person providing the voice 212. At location 404, the recipient communications device 410 also receives the audio data signal 208, extracts the event message from the audio data signal 208 to obtain the name, and performs the action of displaying the name of the person providing the voice 212. Accordingly, meeting participants at locations 204, 404 can receive information identifying the person providing the voice 212, even though the participant is not connected to the source communications device 406 via the network 412.

The source communications device 406 also communicates the voice 212 as well as video to the recipient communications device 410 via the network 412. Accordingly, the meeting participant at location 404 can receive the complete voice and video provided by source communications device 406 via the network 412.

By way of another example, a remote participant can connect to a meeting room in which five other meeting participants communicate via a single phone with the remote participant. The phone can comprise a 360-degree video camera with a microphone array providing directional identification of the currently speaking meeting participant. Because the remote participant only has a telephone connection, he only receives the voice from the telephone/video camera. With five participants in the source location, the remote participant may not be able to determine who is currently speaking. However, the microphone array does provide speaker location information (by using a sound source localization technique). At the beginning of the meeting, the remote participant launches an application program and asks the five other meeting participants where they sit in the room around the microphone array. The remote participant assigns five names (or pictures or face icons) to those locations in a virtual meeting room inside the application. During the meeting, the video camera/microphone array communicates to the remote person the voice and an audio data signal indicating the currently speaking participant location. The application program at the remote location can highlight the person's name/icon who is talking based on the location information. Accordingly, the remote participant enjoys an enhanced meeting experience by receiving the data from the audio data signal. Even without assigning the participant names to their locations, the remote participant can enjoy a better experience. The application program can highlight the location of the sound source. Then, the remote participant can make an association with the highlighted location and the speaking participant.

In another exemplary embodiment, the audio data signal can comprise data for static picture or video taken by a camera or video camera. Accordingly, the meeting participants at locations 204, 404 can view static pictures or video without a network connection to the video camera.

In an alternative exemplary embodiment, the audio data signal can comprise a slice of video taken by a camera or a video camera. For example, if the directional microphone detects a voice signal coming from a location represented at 100 degrees, then a slice of the 360 degree signal around 100 degrees (for example, 70 degrees to 130 degrees) can be communicated via the audio data signal. The remote participant can view a picture or video that appears as if the camera is aimed at the current speaker. Additionally, the video signal can be controlled to prevent the video from jumping if the current speaker changes rapidly.

In an alternative exemplary embodiment, the source communications device 406 can comprise a telephone having a 360-degree microphone providing directional identification of the currently speaking meeting participant. In that case, the system operates as described above for the 360-degree video camera except for the video communication via the network 412.

In another exemplary embodiment, the data generator of each source communications device can communicate an audio data signal identifying the respective source communications device currently communicating voice from a meeting participant. Additionally, each meeting participant can program his source communications device to associate his name with the respective source communications device at his location. Then, each source communications device an communicate an audio data signal comprising the currently speaking participant's name for display on each recipient computer. Accordingly, speaking participants can be identified by name or location even if many participants are included at different locations.

FIG. 5 is a block diagram depicting components of the source computer 210 and the recipient computer 222 according to an exemplary embodiment of the present invention. As illustrated in FIG. 5, the source computer 210 and the recipient computer 222 can comprise components for two-way communication that allow both computers to send and receive audio data signals. The source and recipient computers 210, 222 comprise an application program 136. In the source computer 210, the application program 136 performs an action and communicates an event message to an application program interface (“API”) transcoder 506. The transcoder 506 determines whether to notify the recipient computer 222 of the performed action. If not, then the transcoder 506 waits to receive another event message from the application program 136. If the transcoder 506 determines to notify the recipient computer 222 of the performed action, then the transcoder 506 communicates the event message to an encoder 508.

As indicated by the dashed line 512 in FIG. 5, the encoder 508 monitors audio output by the application program 136 through the API play module 536 b. The encoder 508 monitors the application program's 136 output to determine the proper timing for overlaying an audio data signal with the application program's 136 audio. Additionally, some encoding algorithms operate by modifying input data. Accordingly, by monitoring the application program's 136 output, the encoder 508 can use any encoding method to encode the event message into an audio data signal. The encoder 508 can encode the event message through any suitable method.

The encoder 508 encodes the digital event message into an audio data signal. When appropriate, the encoder 508 communicates the audio data signal to a mixer 510. The mixer 510 overlays the audio data signal on the application program's 136 output through any suitable technique, such as spread spectrum modulation of phase, frequency, amplitude, volume, or other suitable method. The mixer 510 communicates the audio data signal and the application program's 136 output to the audio output interface 162. The audio output interface 162 communicates the audio data signal and the application program's output via the speaker 164.

For the recipient computer 222, the microphone 163 receives the audio data signal and the voice 212 (and any output from the application program 136) and passes the audio data signal and voice to the audio input interface 161. The audio input interface 161 communicates the audio data signal and the voice 212 to a splitter 502. The splitter 502 passes the voice 212 to the API record module 536 a. The API record module 536 a can record the voice 212 for the application program 136. Alternatively, the API record module 536 a can disregard the voice 212.

The splitter 502 passes the audio data signal to a decoder 504. The decoder 504 extracts the event message from the audio data signal 208 and passes the decoded data to the transcoder 506. The transcoder 506 interprets the event message and instructs the application program 136 to perform an action corresponding to the event message according to the application program's 136 configuration.

In the exemplary embodiment illustrated in FIG. 5, the mixer 510 and the splitter 502 are illustrated as separate components. In an alternative exemplary embodiment, the encoder 508 and the decoder 504 can comprise the mixer 510 and the splitter 502, respectively.

FIG. 6 is a block diagram depicting components of a source communications device 406 and a recipient communications device 410 according to an exemplary embodiment of the present invention. As a source communications device 406, a data generator 612 performs an action and communicates an event message to the transcoder 614. The transcoder determines whether to notify a recipient computer of the performed action. If not, then the transcoder 614 waits for another event message from the data generator 612. If the transcoder 614 will notify a recipient computer, then the transcoder 614 communicates the event message to an encoder 616. The encoder 616 encodes the event message in an audio data signal and communicates the audio data signal to a mixer 604. The mixer 604 mixes the audio data signal with voice received through a microphone 602. From the mixer 604, the system 600 communicates the combined audio data signal and voice via the communications medium 214.

As a recipient communications device 410, a splitter 608 receives the combined audio data signal and voice via the communications medium 214. The splitter 608 communicates the voice to the location 406 through the speaker 610. The splitter 608 also passes the audio data signal to a decoder 618. The decoder 618 extracts the event message from the audio data signal and communicates the event message to the transcoder 614. The transcoder 614 interprets the event message and instructs a data display 620 to perform an action corresponding to the event message.

FIG. 7 is a block diagram illustrating a system 700 for communicating audio data signals via a communications medium according to another exemplary embodiment of the present invention. As illustrated in FIG. 7, the system 700 includes the components described above with reference to FIG. 2. The system 700 also includes a source dongle 702 at location 202. The dongle 702 receives the voice 212 from the source telephone 206 via connection 705. The dongle 702 also receives the event message or the audio data signal 208 from a direct connection 706 with the source computer 210.

If the dongle 702 receives the audio data signal 208 from the source computer 210, then the dongle 702 combines the voice 212 and the audio data signal 208 and communicates the combined audio through the communications medium 214 to the recipient telephone 216 at location 204. If the dongle 702 receives the event message from the source computer 210, then the dongle 702 encodes the event message in an audio data signal 208, combines the voice 212 and the audio data signal 208, and communicates the combined audio through the communications medium 214 to the recipient telephone 216 at location 204. The operation of the components at location 204 is the same as the operations described above for the system 200 of FIG. 2.

As shown in location 704 of FIG. 7, a recipient dongle 708 also can be provided at the recipient location. The dongle 708 communicates the voice 212 to the recipient telephone 716 via connection 709. The dongle 708 also communicates the audio data signal 208 or the event message via connection 710 to the recipient computer 222. In an exemplary embodiment, the dongle 708 communicates the audio data signal 208 to the recipient computer 222 via the connection 710. Then, the recipient computer 222 extracts the event message from the audio data signal 208 and performs an action based on the event message. In an alternative exemplary embodiment, the dongle 708 extracts the event message from the audio data signal 208 and communicates the event message to the recipient computer 222 via the connection 710. Then, the recipient computer 222 performs an action based on the event message.

The dongle 702 communicates the voice 212 and the audio data signal 208 as coherent sound over the communications medium 214. Accordingly, any person can participate in the meeting if he has access to a telephone. The system 700 can communicate simultaneously the voice 212 and the audio data signal 208. The meeting participant hears the voice 212 and the audio data signal 208. If the meeting participant has access to a recipient computer 222, then the meeting participant can enjoy an enhanced meeting through the actions performed by the recipient computer 222 in response to the event message in the audio data signal 208.

FIG. 8A is a block diagram illustrating components of a dongle 702 a, 708 a according to an exemplary embodiment of the present invention. As shown, a single dongle can comprise both send and receive components. As illustrated in FIG. 8A, the source dongle 702 a comprises an encoder 804 that receives the event message from the source computer 210 via connection 706. The encoder 804 encodes the event message in the audio data signal 208 and communicates the audio data signal 208 to a mixer 806. The mixer 806 receives the voice 212 from the source telephone 206 via the connection 705 and the audio data signal 208 from the encoder 804 and communicates the combined voice 212 and audio data signal 208 via the communications medium 214.

A splitter 808 in the recipient dongle 708 a receives the voice 212 and the audio data signal via the communications medium 214. The splitter passes the voice 212 to the recipient telephone 216 via connection 709. The splitter 808 also passes the audio data signal 208 to a decoder 810. The decoder 810 extracts the event message from the audio data signal 208 and communicates the event message to the recipient computer 222 via connection 710.

FIG. 8B is a block diagram illustrating components of a dongle 702 b, 708 b according to another exemplary embodiment of the present invention. As shown, a single dongle can comprise both send and receive components. As illustrated in FIG. 8B, the source dongle 702 b comprises a mixer 806. The mixer 806 receives the voice 212 from the source telephone 206 via the connection 705 and the audio data signal 208 from an encoder in the source computer 210 via the connection 706 and communicates the combined voice 212 and audio data signal 208 via the communications medium 214.

A splitter 808 in the recipient dongle 708 b receives the voice 212 and the audio data signal 208 via the communications medium 214. The splitter passes the voice 212 to the recipient telephone 216 via connection 709. The splitter 808 also passes the audio data signal 208 to a decoder in the recipient computer 222 via connection 710.

As illustrated in FIGS. 8A and 8B, various components of the source and recipient computers 210, 222 can be implemented in a separate hardware or software module executing within the system 700.

FIG. 9 is a flow chart depicting a method 900 for communicating audio data signals via a communications medium according to an exemplary embodiment of the present invention. In step 905, a meeting participant communicates voice 212 by speaking, playing voice audio, or other suitable means. In step 910, a source computer 210, 406 generates an audio data signal for instructing a recipient computer 222, 410 to perform an action based on an event message in the audio data signal. In step 915, the source telephone 206, source communications device 406, or dongle 702 communicates the voice 212 and audio data signal 208 via the communications medium 214. Then, in step 920, the recipient computer 222, 410 receives and interprets the audio data signal to perform the identified action.

FIG. 10 is a flow chart depicting a method 910 for generating an audio data signal according to an exemplary embodiment of the present invention, as referred to in step 910 of FIG. 9. In step 1005, the application program 136, or data generator 612, performs an action and generates an event message for the performed action in step 1010. In step 1015, the transcoder 506, 614 receives the event message from the application program 136 or data generator 612, and determines whether to notify the recipient computer 222, 410 of the performed action. In an exemplary embodiment, the transcoder 506, 614 determines whether to notify one or more of multiple recipient computers. If not, then the transcoder 506, 614 waits to receive another event message from the application program 136. If yes, then the transcoder 506, 614 communicates the event message to the encoder 508, 616, 804, and the encoder 508, 616, 804 encodes the event message in an audio data signal 208 in step 1020. In step 1025, the encoder 508, 616, 804 outputs the audio data signal 208 to the mixer. The method then proceeds to step 915 (FIG. 9).

FIG. 11 is a flow chart depicting a method 915 for communicating the voice 212 and the audio data signal 208 via the communications medium 214 according to an exemplary embodiment of the present invention, as referred to in step 915 of FIG. 9. In steps 1105 and 1110, the mixer receives the audio data signal 208 and the voice 212, respectively. In an exemplary embodiment, the mixer receives the audio data signal and the voice 212 simultaneously. Then, in step 1115, the mixer combines the voice 212 and the audio data signal 208. In step 1120, the mixer outputs the combined audio data signal and voice 212 in real time. The method then proceeds to step 920 (FIG. 9).

In an exemplary embodiment, the mixer comprises a telephone that receives all sounds communicated to its microphone and communicates those sounds via the communications medium 214. In alternative exemplary embodiments, the source communications device or phone dongle can comprise the mixer that communicates the voice 212 and the audio data signal 208 via the communications medium 214.

FIG. 12 is a flow chart depicting a method 920 for receiving and interpreting the audio data signal according to an exemplary embodiment of the present invention, as referred to in step 920 of FIG. 9. In step 1205, the splitter of the recipient computer 222, 410, 808 splits the audio data signal 208 from the voice 212 and passes the audio data signal 208 to the decoder 504, 618, 810. In step 1210, the decoder 504, 618, 810 extracts the event message from the audio data signal and communicates the event message to the transcoder 506, 614 of the recipient computer 222, 410. In step 1215, the transcoder 506, 614 determines the instructions for causing the application program 136 or data display 620 to perform an action based on the event message from the audio data signal. Then, in step 1220, the transcoder 506, 614 instructs the application program 136 or data display 620 to perform the action.

The present invention can be used with computer hardware and software that performs the methods and processing functions described above. As will be appreciated by those skilled in the art, the systems, methods, and procedures described herein can be embodied in a programmable computer, computer executable software, hardware, or digital circuitry. The software can be stored on computer readable media. For example, computer readable media can comprise a floppy disk, RAM, ROM, hard disk, removable media, flash memory, memory stick, optical media, magneto-optical media, CD-ROM, etc. Digital circuitry can include integrated circuits, gate arrays, building block logic, field programmable gate arrays (FPGA), etc.

Although specific embodiments of the present invention have been described above in detail, the description is merely for purposes of illustration. Various modifications of, and equivalent steps corresponding to, the disclosed aspects of the exemplary embodiments, in addition to those described above, can be made by those skilled in the art without departing from the spirit and scope of the present invention defined in the following claims, the scope of which is to be accorded the broadest interpretation so as to encompass such modifications and equivalent structures. 

1-56. (canceled)
 57. A method performed by a source computing system for communicating audio data signals, comprising: determining that an event occurring at the source computing system is to be communicated; generating an audio data signal indicative of the event; causing a voice signal to be combined with the generated audio data signal to produce a coherent sound; and communicating the produced coherent sound via an audio communications medium.
 58. The method of claim 57 wherein the event occurs when an electronic slide that is displayed at the source computing system changes.
 59. The method of claim 57 wherein the audio communications medium comprises a telephone communications system.
 60. The method of claim 57 wherein the audio communications medium comprises air.
 61. The method of claim 57 wherein the audio communications medium comprises a communications network.
 62. The method of claim 57 wherein the generated audio data signal comprises data generated by the source computing system.
 63. A method performed by a recipient computing system for receiving instructions communicated in an audio signal, comprising: receiving a coherent sound that is communicated via an audio communications medium; decoding the received coherent sound to produce an audio data signal; extracting data from the decoded audio data signal; interpreting the extracted data to determine an instruction to perform an action; and causing an application program to perform the action.
 64. The method of claim 63 wherein the action is to change an electronic slide that is displayed at the recipient computing device.
 65. The method of claim 63 wherein the audio communications medium comprises a telephone communications system.
 66. The method of claim 63 wherein the audio communications medium comprises air.
 67. The method of claim 63 wherein the audio communications medium comprises a communications network.
 68. The system of claim 63 wherein the audio communications medium comprises a broadcast network.
 69. The system of claim 63 wherein the extracting is performed by a decoder that is logically coupled to the recipient computing device.
 70. A computer-readable medium having computer-executable instructions for performing a method for communicating audio signals, the method comprising: receiving a voice signal; receiving an audio data signal; combining the received voice signal and the audio data signal to produce a coherent sound; and upon producing the coherent sound, communicating the coherent sound via a communications medium.
 71. The computer-readable medium of claim 70 wherein the audio data signal comprises an indication of a command to be performed by a recipient computing device to which the coherent sound is communicated.
 72. The computer-readable medium of claim 70 wherein the communications medium comprises a telephone system.
 73. The computer-readable medium of claim 70 wherein the communications medium comprises a communications network.
 74. The computer-readable medium of claim 70 wherein the audio data signal is an audible sound.
 75. The computer-readable medium of claim 74 wherein the audible sound is white noise.
 76. The computer-readable medium of claim 70 further comprising: receiving a coherent sound; and upon receiving the coherent sound, separating from the received coherent sound a voice signal and an audio data signal; and communicating the separated audio data signal to a computing device. 